dance = input('请输入报舞蹈班的学生姓名：\n')
paint = input('请输入报画画班的学生姓名：\n')
badminton = input('请输入报羽毛球班的学生姓名：\n')
#使用顿号分割舞蹈班字符串，并将列表转换为集合
dance = set(dance.split('、'))
#使用顿号分割画画班字符串，并将列表转换为集合
paint = set(paint.split('、'))
#使用顿号分割羽毛球班字符串，并将列表转换为集合
badminton = set(badminton.split('、'))
print(dance,paint,badminton)
#计算3个集合的并集，获得所有报名的学生集合
all = dance | paint | badminton
#计算3个集合的两两交集，并进行或运算，获得至少报两个兴趣班的学生集合
double = (dance & paint) | (dance & badminton) | (paint & badminton)
#计算3个集合的交集，获得报3个兴趣班的学生集合
triple = dance & paint & badminton
#计算double和triple的差集，获得只报两个兴趣班的学生集合
double_only = double - triple
print('所有报兴趣班的学生：', len(all), '人')
for name in all:					#遍历输出所有报兴趣班的学生
    print(name, end=' ')
print('\n只报两个兴趣班的学生：', len(double_only), '人')
for name in double_only:		#遍历输出只报两个兴趣班的学生
    print(name, end=' ')
print('\n报3个兴趣班的学生：', len(triple), '人')
for name in triple:				#遍历输出报3个兴趣班的学生
    print(name, end=' ')